package day05;

public class Demo05 {
	public static void main(String[] args) {
		//		test01(1.2);
		//		test01(1.2, 1);
		//		test01(1.2, 1, 2);
		//		test01(1.2, 1, 2, 3);
		// doSome(1, 2);
	}

	// 变长参数与固定参数
	// 当某个方法既有固定参数, 又有变长参数时
	// 变长参数必须在参数列表最后
	// 这种方法在调用时, 固定参数必须传参
	// 变长参数可以根据实际情况传参
	public static void test01(double a, int... arr) {

	}

	// -----------------------------------------------------

	// 变长参数与重载
	// 调用重载方法时, 优先匹配固定参数列表的方法
	// 数据类型一样的前提下, 数组与变长不构成重载
	public static void doSome() {
		System.out.println("Demo05.doSome()");
	}

	public static void doSome(int a) {
		System.out.println("Demo05.doSome(int)");
	}

	// public static void doSome(int[] arr) {}

	//	public static void doSome(int a, int b) {
	//		System.out.println("Demo05.doSome(int, int)");
	//	}

	public static void doSome(int a, int... arr) {
		System.out.println("Demo05.doSome(int, int...)");
	}

	public static void doSome(int... arr) {
		System.out.println("Demo05.doSome(int...)");
	}

}
